package com.ruoyi.archive.domain;

import java.io.Serializable;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 军队离休退休干部和退休士官信息对象 s_retired_cadre
 *
 * @author Allen
 * @date 2021-09-29
 */
@Data
public class SRetiredCadre implements Serializable {

    private static final long serialVersionUID = 256890660727446336L;
    /** $column.columnComment */
    private Long id;

    /** 关联soldier_base_info */
    @Excel(name = "关联soldier_base_info")
    private Long soldierId;

    /** 军休类别 */
    @Excel(name = "军休类别")
    private Long retireType;

    /** 入伍时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入伍时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date enlistedDate;

    /** 离休退休时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "离休退休时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date retirementDate;

    /**
     * 离休退休证件
     * 离退休证等其他有效退役证件（采集设备拍摄）
     */
    private String retirementCertificate;

    /** 离休退休证件号码 */
    @Excel(name = "离休退休证件号码")
    private String retirementCertificateCode;

    /** 安置日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "安置日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date arrangeDate;

    /** 安置地 省市县/区 */
    @Excel(name = "安置地 省市县/区")
    private String arrangePlace;

    /** 安置单位名称 */
    @Excel(name = "安置单位名称")
    private String arrangeUnit;

    /**
     * 安置单位性质
     * 1、政府管理（增加二级勾选内容：退役军人事务部门管理、组织部门管理、人社部门管理）；
     * 2：军队管理（增加二级勾选内容：干休所管理、等移交政府安置）
     */
    @Excel(name = "安置单位性质")
    private String arrangeUnitType;

    /** 服务管理机构名称 */
    @Excel(name = "服务管理机构名称")
    private String organizationName;

    @TableField(exist = false)
    private String soldierName;

    @TableField(exist = false)
    private String idCard;
}
